\hypertarget{classIStegIO}{
\section{\-I\-Steg\-I\-O \-Class \-Reference}
\label{classIStegIO}\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}}
}


abstraction layer of a steg payload data source and sink  




{\ttfamily \#include $<$stegio.\-h$>$}

\-Inheritance diagram for \-I\-Steg\-I\-O\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.656805cm]{classIStegIO}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{classIStegIO_aa3ed1ed9d61cca9002eff4289f786613}{$\sim$\-I\-Steg\-I\-O} ()
\item 
virtual bool \hyperlink{classIStegIO_a84905da02c804db25caae639f21cc5e6}{open} ()=0
\item 
virtual void \hyperlink{classIStegIO_ad52003c75ca81e4fc06af5d61d8572c9}{close} ()=0
\item 
virtual \hyperlink{namespaceNStegIO_a7e327c93e6134904ec18fdd7e7a72e80}{\-N\-Steg\-I\-O\-::\-E\-Read\-State} \hyperlink{classIStegIO_a2563a1768ad868b0da905917ab47faca}{read} (unsigned char \&p\-Byte)=0
\item 
virtual void \hyperlink{classIStegIO_a862ec55f0ba36ec0c8a016cfac438575}{write} (unsigned char p\-Byte)=0
\item 
virtual int \hyperlink{classIStegIO_a1f5389e760fba772e51fa68a51b8a286}{available} ()=0
\begin{DoxyCompactList}\small\item\em get size of available bytes which can be read with the read methode. \-For example\-: \-If this methode return 19 then the read methode can be called 19 times without an \-E\-O\-F. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
abstraction layer of a steg payload data source and sink 

\begin{DoxyAuthor}{\-Author}
gpitsch and rpoisel 
\end{DoxyAuthor}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classIStegIO_aa3ed1ed9d61cca9002eff4289f786613}{
\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}!$\sim$\-I\-Steg\-I\-O@{$\sim$\-I\-Steg\-I\-O}}
\index{$\sim$\-I\-Steg\-I\-O@{$\sim$\-I\-Steg\-I\-O}!IStegIO@{\-I\-Steg\-I\-O}}
\subsubsection[{$\sim$\-I\-Steg\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}virtual \-I\-Steg\-I\-O\-::$\sim$\-I\-Steg\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classIStegIO_aa3ed1ed9d61cca9002eff4289f786613}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classIStegIO_a1f5389e760fba772e51fa68a51b8a286}{
\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}!available@{available}}
\index{available@{available}!IStegIO@{\-I\-Steg\-I\-O}}
\subsubsection[{available}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-I\-Steg\-I\-O\-::available (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIStegIO_a1f5389e760fba772e51fa68a51b8a286}


get size of available bytes which can be read with the read methode. \-For example\-: \-If this methode return 19 then the read methode can be called 19 times without an \-E\-O\-F. 

\-This methode is necessary for \hyperlink{classCFrameBuilder}{\-C\-Frame\-Builder}. \-Not for \hyperlink{classCByteBuilder}{\-C\-Byte\-Builder}. \begin{DoxyReturn}{\-Returns}
\-Count of available bytes for read. 0 for currently no available bytes. -\/1 for an error or if this methode is not supported. 
\end{DoxyReturn}


\-Implemented in \hyperlink{classCSimplefileProtocolEngine_a82ca824be5ed0a57bc8a709c9cabafa0}{\-C\-Simplefile\-Protocol\-Engine}, \hyperlink{classCFileProtocolEngine_a2662b26f6ed302a240f888616807774d}{\-C\-File\-Protocol\-Engine}, \hyperlink{classCGuiProtocolEngine_a5b2ef1ee54e9f69966768b6fed23e01b}{\-C\-Gui\-Protocol\-Engine}, and \hyperlink{classCDummyProtocolEngine_afc87c2b79adabc6155177247adfcb9ef}{\-C\-Dummy\-Protocol\-Engine}.

\hypertarget{classIStegIO_ad52003c75ca81e4fc06af5d61d8572c9}{
\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}!close@{close}}
\index{close@{close}!IStegIO@{\-I\-Steg\-I\-O}}
\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}virtual void \-I\-Steg\-I\-O\-::close (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIStegIO_ad52003c75ca81e4fc06af5d61d8572c9}


\-Implemented in \hyperlink{classCSimplefileProtocolEngine_a365d02c3dcdd59470d728eb6c950c896}{\-C\-Simplefile\-Protocol\-Engine}, \hyperlink{classCFileProtocolEngine_a2af5bda1e66b90fbc14516b7498a526e}{\-C\-File\-Protocol\-Engine}, \hyperlink{classCGuiProtocolEngine_a1d6a980592509648b3fff12e02dee3a6}{\-C\-Gui\-Protocol\-Engine}, and \hyperlink{classCDummyProtocolEngine_a3a2dc3c99bfd30f8bef612ca140844ed}{\-C\-Dummy\-Protocol\-Engine}.

\hypertarget{classIStegIO_a84905da02c804db25caae639f21cc5e6}{
\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}!open@{open}}
\index{open@{open}!IStegIO@{\-I\-Steg\-I\-O}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool \-I\-Steg\-I\-O\-::open (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIStegIO_a84905da02c804db25caae639f21cc5e6}


\-Implemented in \hyperlink{classCSimplefileProtocolEngine_a403162f9a438c68d3bed084e1d8e10c2}{\-C\-Simplefile\-Protocol\-Engine}, \hyperlink{classCFileProtocolEngine_ae098e7f4488c73119566161a1e9c171c}{\-C\-File\-Protocol\-Engine}, \hyperlink{classCGuiProtocolEngine_afa041f52b16ecc730f37fb483ff21dba}{\-C\-Gui\-Protocol\-Engine}, and \hyperlink{classCDummyProtocolEngine_a272f097dd73adf1a4de8a11dbf15fece}{\-C\-Dummy\-Protocol\-Engine}.

\hypertarget{classIStegIO_a2563a1768ad868b0da905917ab47faca}{
\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}!read@{read}}
\index{read@{read}!IStegIO@{\-I\-Steg\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Alsa\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{unsigned char \&}]{p\-Byte}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIStegIO_a2563a1768ad868b0da905917ab47faca}


\-Implemented in \hyperlink{classCSimplefileProtocolEngine_af1cd3bf438222a5b9bce6859c605f5e6}{\-C\-Simplefile\-Protocol\-Engine}, \hyperlink{classCFileProtocolEngine_ad43b5004a4c06cf89d6a92380db4531b}{\-C\-File\-Protocol\-Engine}, \hyperlink{classCGuiProtocolEngine_a282dc38ced65366d68d4fa4eb4aedae0}{\-C\-Gui\-Protocol\-Engine}, and \hyperlink{classCDummyProtocolEngine_a2abeda7851e1b8fdfd7666cf80050143}{\-C\-Dummy\-Protocol\-Engine}.

\hypertarget{classIStegIO_a862ec55f0ba36ec0c8a016cfac438575}{
\index{\-I\-Steg\-I\-O@{\-I\-Steg\-I\-O}!write@{write}}
\index{write@{write}!IStegIO@{\-I\-Steg\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Alsa\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{unsigned char}]{p\-Byte}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIStegIO_a862ec55f0ba36ec0c8a016cfac438575}


\-Implemented in \hyperlink{classCSimplefileProtocolEngine_a9c5c5c10645b1767b6a8f92ca719f8bd}{\-C\-Simplefile\-Protocol\-Engine}, \hyperlink{classCFileProtocolEngine_a189e2d6daa1e86dd345547d5a77e5383}{\-C\-File\-Protocol\-Engine}, \hyperlink{classCGuiProtocolEngine_a319afc1359f0392a7bd3d378be01fb8c}{\-C\-Gui\-Protocol\-Engine}, and \hyperlink{classCDummyProtocolEngine_a8fe20cb5ca337bf47680797db20c7b59}{\-C\-Dummy\-Protocol\-Engine}.



\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{stegio_8h}{stegio.\-h}\item 
\hyperlink{alsa__io_8cxx}{alsa\-\_\-io.\-cxx}\end{DoxyCompactItemize}
